home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 May / EnigmA AMIGA RUN 18 (1997)(G.R. Edizioni)(IT)[!][issue 1997-05][EAR-CD II].iso / programs / amigabase / arexx / rx·run < prev    next >
Text File  |  1995-02-03  |  5KB  |  104 lines

  1. /*==============================================================*/
  2. /*  rx·Run                                                      */
  3. /*  $VER: V 02.00 (03.02.94)              AUTHOR: Falk Hildner  */
  4. /*==============================================================*/
  5. /*  Startet AmigaBase und                                       */
  6. /*          - nach Eingabe eines Brechtigungscodes              */
  7. /*            · den Filerequester für das Projektverzeichnis    */
  8. /*            · ein Projekt                                     */
  9. /*            · ein Projekt mit ARexx-Funktion                  */
  10. /*          - oder ohne Eingabe eines Brechtigungscodes         */
  11. /*            · ein Projekt                                     */
  12. /*            · ein Projekt mit ARexx-Funktion                  */
  13. /*--------------------------------------------------------------*/
  14. /*  Aufruf:                                                     */
  15. /*  -------                                                     */
  16. /*  RX [Pfad/]rx·Run [code [projekt [funktion [argument]]]]     */
  17. /*                                                              */
  18. /*  code         - '0'  ohne Codeabfrage                        */
  19. /*               - '1'  mit Codeabfrage                         */
  20. /*  projekt      - Projekt ohne Pfad, ausführlicher Pfad zum    */
  21. /*                 Projekt oder nichts (wenn code = 1 wird      */
  22. /*                 Requester aufgerufen)                        */
  23. /*  funktion     - aufzurufende ARexx-Funktion des Projektes    */
  24. /*                 oder nichts (nicht über Requester möglich)   */
  25. /*  argument     - Argument zur ARexx-Funktion oder nichts      */
  26. /*                                                              */
  27. /*  Ohne alle Parameter wird nur AmigaBase gestartet.           */
  28. /*  Der Requester ist auf Pattern 'ab·~(#?.BAK)' eingestellt,   */
  29. /*  d. h. alle Projekte müssen mit 'ab·' beginnen, sonst wird   */
  30. /*  nichts angezeigt.                                           */
  31. /*--------------------------------------------------------------*/
  32. /*  Rückgabe an ARexx-Funktion des Projektes                    */
  33. /*  ----------------------------------------                    */
  34. /*  name         - Name des Zugriffsberechtigten                */
  35. /*  sign         - Signum des Zugriffsberechtigten              */
  36. /*--------------------------------------------------------------*/
  37. /*  ENV-Variablen:                                              */
  38. /*  --------------                                              */
  39. /*  ENV:ABprogram  ausführlicher Pfad zu AmigaBase              */
  40. /*  ENV:ABprojekt  ausführlicher Pfad auf Verzeichnis mit den   */
  41. /*                 AmigaBase-Projekten                          */
  42. /*  ENV:ABcode     ausführlicher Pfad zum Berechtigungscode-File*/
  43. /*==============================================================*/
  44.  
  45. OPTIONS RESULTS
  46. PARSE ARG code projekt funktion argument
  47. SELECT
  48.  WHEN INDEX(SHOW("PORTS"),"REXX_AB1") == 0 THEN
  49.   DO
  50.    CALL OPEN(abprogramm,"env:ABprogram",READ)
  51.    ADDRESS COMMAND "RUN >NIL: " READLN(abprogramm)
  52.    ADDRESS COMMAND "WaitForPort REXX_AB1"
  53.    ADDRESS "REXX_AB1"
  54.   END
  55.  OTHERWISE
  56.   DO
  57.    ADDRESS "REXX_AB1"
  58.    New
  59.  END
  60. END
  61. IF ~(code == 0 | code == 1) | (code == 0 & projekt == "") THEN EXIT
  62. CALL ADDLIB("rexxreqtools.library", 0, -30, 0)
  63. IF code == 1 THEN
  64. DO
  65.  in = rtgetstring( , , "Berechtigungscode eingeben ...", "Ok", , )
  66.  IF in == "" THEN EXIT
  67.  CALL OPEN(abcode,"env:ABcode",READ)
  68.  CALL OPEN(test,READLN(abcode),READ)
  69.  DO WHILE (in ~== readln(test))
  70.   dummy = READLN(test)
  71.   dummy = READLN(test)
  72.   IF EOF(test) THEN EXIT
  73.  END
  74.  name = READLN(test)
  75.  name = SUBWORD(name,1,3)
  76.  IF WORDS(name) == 1 THEN name = name || " *"
  77.  IF WORDS(name) == 2 THEN name = name || " *"
  78.  signum = READLN(test)
  79. END
  80. CALL OPEN(abprojekt,"env:ABproject",READ)
  81. SELECT
  82.  /* Abfage '... | INDEX(in,"*") > 0 ...' nur Falk !!! */
  83.  WHEN (code == 1 & projekt == "") | INDEX(in,"*") > 0  THEN
  84.   DO
  85.    dateiname = RTFILEREQUEST( READLN(abprojekt), , "Starte Projekt ...", ,"rtfi_flags=freqf_selectdirs rtfi_matchpat=(ab·~(#?.BAK))", )
  86.    IF dateiname == "" THEN
  87.     DO
  88.      erg = rtezrequest( "AmigaBase beenden ?","Ja|Nein",,,)
  89.      IF erg == 1 then Quit Force
  90.      EXIT
  91.     END
  92.    projekt = dateiname
  93.   END
  94.  WHEN INDEX(projekt,"/")=0 | INDEX(projekt,":")=0 THEN projekt = READLN(abprojekt) || projekt
  95.  OTHERWISE NOP
  96. END
  97. Load projekt
  98. Project projekt
  99. SELECT
  100.  WHEN code = 1 & funktion ~= "" THEN Function funktion name signum
  101.  WHEN funktion ~= "" THEN Function funktion argument
  102.  OTHERWISE NOP
  103. END
  104.